﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using Comun;
using System.Text;
using System.Windows.Forms;

namespace Guada
{
    public partial class FrmDatosReserva : Plantilla
    {
        private string idTurno;

        public FrmDatosReserva()
        {
            InitializeComponent();
        }

        private void FrmDatosReserva_Load(object sender, EventArgs e)
        {
            try
            {
                FacProFacu.Sistema sistema = new FacProFacu.Sistema();
                Controles control = new Controles();
                control.CargarCBox(CmbTipoDoc, sistema.TablaDeTabla("1", "TIPODOC").Tables["TIPODOC"], "CODIGO", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
            }
            catch
            {
                MessageBox.Show("", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public void SetIdTurno(string sId)
        {
            idTurno = sId;
        }

        private void CmbTipoDoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (CmbTipoDoc.SelectedIndex > 0)
            {
                txtNumDoc.Enabled = true;
            }
        }

        private void txtNumDoc_Leave(object sender, EventArgs e)
        {
            try
            {
                FacProFacu.Paciente paciente = new FacProFacu.Paciente();
                DataTable Dt = paciente.GetDatosPaciente(txtNumDoc.Text).Tables["PACIENTE"];
                if (Dt.Rows.Count > 0)
                {
                    lblsApellido.Text = Dt.Columns["APELLIDO"].ToString();
                    lblsNombre.Text = Dt.Columns["NOMBRE"].ToString();
                    lblsFecNac.Text = Dt.Columns["FEC_NAC"].ToString();
                    lblsTipoCob.Text = Dt.Columns["DESCRIPCION"].ToString();
                    lblsAsociado.Text = Dt.Columns["NROOBRASOCIAL"].ToString();
                }
                else
                {
                    MessageBox.Show("El paciente no se encuentra dado de alta en el Sistema.", "INFORMACION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BtnModificar.Text = "Nuevo";
                    btnAceptar.Enabled = false;
                }
            }
            catch{}
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                FacProFacu.Turno turno = new FacProFacu.Turno();
                int reservado = turno.ReservarTurno(txtNumDoc.Text);
                if (reservado > 0)
                {
                    MessageBox.Show("La reserva del turno se ha realizado con éxito.", "INFORMACION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("No se pudo realizar la reserva del turno.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch
            {
                MessageBox.Show("", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void BtnModificar_Click(object sender, EventArgs e)
        {
            string aux = btnAceptar.Text;
            switch (aux)
            {
                case "Modificar":
                    FrmMBPaciente paciente = new FrmMBPaciente();
                    paciente.SetDocumento(txtNumDoc.Text);
                    paciente.ShowDialog();
                    break;
                case "Nuevo":
                    FrmPaciente nuevo = new FrmPaciente();
                    nuevo.ShowDialog();
                    break;
                default:
                    break;
            }
        }
    }
}
